Multilevel triggering system for outputting complex trigger signal

ABSTRACT

A multilevel triggering system of a signal analysis instrument outputs a complex trigger signal. The triggering system includes a trigger controlled buffer for receiving and buffering an input signal, triggering function modules, and a triggering matrix. Each triggering function module performs a corresponding triggering function for detecting a corresponding triggering condition. The triggering matrix includes multiple triggering levels, each of which is configurable to include at least one trigger block and each trigger block being configurable to implement one of the triggering function modules. Each trigger block generates a corresponding block trigger when the triggering condition of the corresponding triggering function module is detected in the buffered input signal. Each triggering level generates a corresponding level trigger when the at least one trigger block in the triggering level generates the corresponding block trigger, and the triggering matrix generates the complex trigger signal when the triggering levels generate corresponding level triggers.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority under 35 U.S.C. §119(a) from ChinesePatent Application No. 201210307801.3, filed Aug. 21, 2012, the subjectmatter of which is hereby incorporated by reference.

BACKGROUND

Conventional signal analysis instruments, such as spectrum analyzers,oscilloscopes and the like, use triggering systems in order to triggerdata capture of an input signal of interest for analysis by a user.However, more signal analysis applications require complicatedtriggering capability to detect transient or complex input signals,which conventional triggering systems cannot satisfy.

More particularly, a conventional triggering system has a signal levelarchitecture. That is, there are different triggering blocks in thetriggering system, and each triggering block detects a specified featureof the input signal, such as power level, spectrum shape, and the like.The input signal passes through only one of the triggering blocks togenerate the corresponding trigger signal, so only one triggeringcondition can be used to detect the signal.

FIG. 1 is a block diagram illustrating a conventional triggering systemof spectrum analyzer. Referring to FIG. 1, triggering system 100receives an input signal and provides a trigger signal based on only onetriggering function, selectable by switch 110. The trigger signal may begenerated in response to External Trigger 120, which may be activated bythe user, for example. No trigger signal will be generated in responseto Free Run 130, which does not consider any trigger conditions andenables the input signal to pass through the triggering system.Alternatively, the trigger signal may be generated in response to aselected one of multiple trigger blocks 141 to 143 in trigger block set140, each of which is configured to detect a corresponding triggercondition in the input signal. For example, trigger block 141 provides atime domain power level trigger, trigger block 142 provides a frequencydomain power level trigger, and trigger block 143 provides a frequencymask trigger. However, as mentioned above, only one trigger may beselected at a time as the trigger signal. Further, the trigger blocks141-143 may be predetermined, in that the user has a limited choice ofcorresponding functionalities.

Notably, some conventional triggering systems are able to implement morethan one trigger (e.g., via multiple trigger blocks) with regard to aninput signal. However, the trigger blocks are sequentially arranged,such that the input signal passes through all of the trigger blocks anda trigger signal is ultimately generated only once all of thecorresponding trigger conditions are detected.

Thus, a disadvantage of conventional triggering systems is lack offlexibility. In contrast, in many signal analysis applications, the userwould like to generate triggers based on complicated triggeringconditions (for example, need to detect pulse signal with specifiedpulse duration and spectrum shape simultaneously), which cannot beresolved by a conventional single level triggering system. Also, evenwhen multiple trigger blocks are available, the desired types andarrangements of various triggering conditions may not be accommodated,thus the conventional multiple level triggering system is likewiseinsufficient.

SUMMARY

In a representative embodiment, a multilevel triggering system of asignal analysis instrument for outputting a complex trigger signalincludes a trigger controlled buffer configured to receive and buffer aninput signal, multiple triggering function modules, and a triggeringmatrix. Each triggering function module being configured to perform acorresponding triggering function for detecting a correspondingtriggering condition. The triggering matrix includes multiple triggeringlevels, each of which is configurable to include at least one triggerblock and each trigger block being configurable to implement one of thetriggering function modules. Each trigger block generating acorresponding block trigger when the triggering condition of thecorresponding triggering function module is detected in the bufferedinput signal. Each triggering level is configured to generate acorresponding level trigger when the at least one trigger block in thetriggering level generates the corresponding block trigger, and thetriggering matrix is configured to generate the complex trigger signalwhen the triggering levels generate corresponding level triggers.

In another representative embodiment, a computer readable medium isprovided for storing software, executable by a processor, for multileveltriggering of a signal analysis instrument to output a complex triggersignal. The computer readable medium includes first level code includingmultiple first trigger blocks configurable to implement correspondingdifferent triggering function modules for implementing different triggerfunctions responsive to corresponding triggering conditions, each firsttrigger block generating a corresponding first block trigger when thetriggering conditions of the triggering function modules are detected ina first portion of an input signal The first level code generates acorresponding first level trigger in accordance with a first logicalexpression incorporating the corresponding first block triggersgenerated by the first trigger blocks, respectively. The computerreadable medium further includes second level code including multiplesecond trigger blocks configurable to implement corresponding differenttriggering function modules for implementing different trigger functionsresponsive to corresponding triggering conditions, each second triggerblock generating a corresponding second block trigger when thetriggering conditions of the triggering function modules are detected ina second portion of the input signal. The second level code generates acorresponding second level trigger in accordance with a second logicalexpression incorporating the corresponding second block triggersgenerated by the second trigger blocks, respectively. The complextrigger signal is generated when the first and second level codesgenerate corresponding first and second level triggers, respectively.

In another representative embodiment, a signal analysis instrumentincludes a radio frequency (RF) downconverter configured to receive anRF input signal, e.g., from a test device, and to provide adownconverted analog input signal, an analog to digital converter (ADC)configured to convert the analog signal to a digital input signal, and amultilevel triggering system configured to receive the digital inputsignal and to selectively output a complex trigger signal based oncharacteristics of the input signal, and a signal processing system. Themultilevel triggering system includes a trigger controlled buffer, atrigger block library, and a triggering matrix. The trigger controlledbuffer is configured to buffer the digital input signal and toselectively output a detected signal in response to the complex triggersignal. The trigger block library is configured to store multipletriggering function modules, each triggering function module beingconfigured to perform a corresponding triggering function for detectinga corresponding triggering condition. The triggering matrix includesmultiple triggering levels, each triggering level being configurable toinclude at least one trigger block and each trigger block beingconfigurable to implement one of the triggering function modules fromthe trigger block library. Each trigger block generates a correspondingblock trigger when the triggering condition of the correspondingtriggering function module is detected in the buffered input signal. Thesignal processing system is configured to control the triggering systemand to analyze the digital input signal in response to the complextrigger signal selectively output by the triggering system. Eachtriggering level is configured to generate a corresponding level triggerwhen the at least one trigger block in the triggering level generatesthe corresponding block trigger. The triggering matrix is configured togenerate the complex trigger signal when the triggering levels generatecorresponding level triggers.

BRIEF DESCRIPTION OF THE DRAWINGS

The illustrative embodiments are best understood from the followingdetailed description when read with the accompanying drawing figures. Itis emphasized that the various features are not necessarily drawn toscale. In fact, the dimensions may be arbitrarily increased or decreasedfor clarity of discussion. Wherever applicable and practical, likereference numerals refer to like elements.

FIG. 1 is a block diagram illustrating a conventional triggering systemof spectrum analyzer.

FIG. 2 is a block diagram of a signal analysis instrument including amultilevel triggering system, according to a representative embodiment.

FIG. 3 is a block diagram of a multilevel triggering system, accordingto a representative embodiment.

FIG. 4 is a block diagram of a multilevel triggering system implementedusing a central processing unit (CPU), according to a representativeembodiment.

FIG. 5 is a block diagram of a multilevel triggering system implementedusing a field-programmable gate array (FPGA), according to arepresentative embodiment.

DETAILED DESCRIPTION

In the following detailed description, for purposes of explanation andnot limitation, illustrative embodiments disclosing specific details areset forth in order to provide a thorough understanding of embodimentsaccording to the present teachings. However, it will be apparent to onehaving had the benefit of the present disclosure that other embodimentsaccording to the present teachings that depart from the specific detailsdisclosed herein remain within the scope of the appended claims.Moreover, descriptions of well-known devices and methods may be omittedso as not to obscure the description of the example embodiments. Suchmethods and devices are within the scope of the present teachings.

According to various embodiments, a triggering system of a signalanalysis instrument has multilevel architecture, which is able to applymultiple complicated triggering conditions (e.g., according to logicalexpressions) for detection of the input signal. The architecture of thetriggering system may be configurable by users based on differenttriggering requirements, providing flexibility for the detection. Also,the triggering system may be configured such that the various triggeringlevels receive the input signal only when the triggering conditions ofone or more preceding triggering levels are satisfied, reducingcomputation time and increasing overall efficiency of the signalanalysis instrument.

FIG. 2 is a block diagram of a signal analysis instrument including amultilevel triggering system, according to a representative embodiment.

Referring to FIG. 2, signal analysis instrument 200 receives andanalyzes an input signal by detecting multiple triggering conditions inaccordance with multiple triggers arranged in various triggering levels.The signal analysis instrument 200 may be a spectrum analyzer or anoscilloscope, for example, configured to receive and analyze an inputsignal (test signal) from a device under test. The signal analysisinstrument 200 includes radio frequency (RF) downconverter 210 andanalog-to-digital converter (ADC) 220. Generally, the RF downconverter210 receives an RF input signal and removes the RF carrier from theinput signal, for example, using a local oscillator (not shown). The ADC220 converts the analog input signal to a digital input signal, as wouldbe apparent to one of ordinary skill in the art.

The signal analysis instrument 200 further includes multileveltriggering system 230, signal processing system 240 and memory 250. Themultilevel triggering system 230 receives the digital input signal fromthe ADC 220, and performs a complex triggering function on the digitalinput signal by combining multiple discrete triggering functions(effectively implementing one or more logical expressions) for detectingcorresponding triggering conditions. The multilevel triggering system230 generates a complex trigger signal when the triggering conditions ofthe complex triggering function are detected, and outputs the complextrigger signal to the signal processing system 240 (and the memory 250)in order to trigger data capture of the digital input signal. Also, inresponse to the complex trigger signal, the multilevel triggering system230 provides the detected input signal to the signal processing system240 and the memory 250. The signal processing system 240 is thereforeable to process and analyze the detected input signal at the point atwhich the input signal exhibits the triggering conditions. Themultilevel triggering system 230 is discussed in greater detail withreference to FIGS. 3 and 4, below.

The signal processing system 240 may be implemented by a computerprocessor, application specific integrated circuits (ASICs),field-programmable gate arrays (FPGAs), or combinations thereof, usingsoftware, firmware, hard-wired logic circuits, or combinations thereof.When using a computer processor, a memory may be included, such as anon-transitory computer readable medium, for storing executablesoftware/firmware and/or executable code that allows it to perform thevarious functions. The memory may include any number, type andcombination of random access memory (RAM) and read-only memory (ROM),for example. In an embodiment, the signal processing system 240 isconfigured to analyze a detected signal (data capture) output by themultilevel triggering system 230 (e.g., via trigger controlled buffer310, discussed below) in response to the complex trigger signal.

The memory 250 may store the detected input signal and/or complextrigger signals output by the multilevel triggering system 230, as wellas processing and analysis results generated by the signal processingsystem 240. The memory 250 may include any number, type and combinationof RAM and ROM, and may provide look-up tables and/or other relationalfunctionality. In various embodiments, the memory 250 may include aflash memory or a disk drive, for example, although other types ofmemory may be incorporated without departing from the scope of thepresent teachings.

FIG. 3 is a block diagram of a multilevel triggering system, accordingto a representative embodiment.

Referring to FIG. 3, multilevel triggering system 230 is configured tooutput a complex trigger signal. In the depicted embodiment, themultilevel triggering system 230 includes a trigger controlled buffer310, triggering matrix 330, and a trigger block library 350. The triggercontrolled buffer 310 is configured to receive and buffer the digitalinput signal, for example, received from the ADC 220. The triggercontrolled buffer 310 continues to buffer the digital input signal untilthe complex trigger signal is generated by the triggering matrix 330, atwhich point the trigger controlled buffer 310 outputs the detected inputsignal to the signal processing system 240 and/or the memory 250. Forexample, the trigger controlled buffer 310 may be a first-in first-out(FIFO) buffer that stores the input signal until sent to the triggeringmatrix 330. In various embodiments, the trigger controlled buffer 310selectively provides the digital input signal to the differenttriggering levels (e.g., first through n^(th) triggering levels 331 to333 of the triggering matrix 330), as further discussed below. Thisassures that the triggering levels receive the digital input signal (ordifferent portions of the digital input signal) and attempt to detectcorresponding trigger conditions only as needed, thus reducing theprocessing requirements of the multilevel triggering system 230.

The triggering matrix 330 includes multiple triggering levels, indicatedby representative first triggering level 331, second triggering level332, through n^(th) triggering level 333. Of course, more of fewertriggering levels may be included, without departing from the scope ofthe present teachings. Each of the first through n^(th) triggeringlevels 331 to 333 is configurable to include one or more trigger blocks.For example, the first triggering level 331 may include trigger blocks331-1, 331-2, . . . 331-x, the second triggering level 332 may includetrigger blocks 332-1, 332-2, . . . 332-y, and the n^(th) triggeringlevel 333 may include trigger blocks 333-1, 333-2, . . . 333-z. Also,the first through n^(th) triggering levels 331 to 333 generatecorresponding first through n^(th) level triggers, respectively, basedon triggering conditions of the corresponding trigger blocks 331-1 to331-x, 332-1 to 332-y, and 333-1 to 333-z, as discussed below. Notably,although three trigger blocks are depicted in each for purposes ofillustration, it is understood that the first through n^(th) triggeringlevels 331 to 333 may have different numbers of trigger blocks from oneanother, and likewise may have more or fewer than three trigger blocks(including just one trigger block), depending on the desired triggeringconditions for generating the corresponding first through n^(th) leveltriggers, as discussed below. In various embodiments, the triggeringmatrix 330 generates and outputs the complex trigger signal when all ofthe first through n^(th) level triggers have been generated.

Each of the trigger blocks 331-1 to 331-x, 332-1 to 332-y, and 333-1 to333-z is configurable to implement a corresponding triggering functionmodule, and to generate a corresponding block trigger when thetriggering condition of the corresponding triggering function module isdetected (e.g., in the input signal provided by the trigger controlledbuffer 310). The triggering function modules are previously builtsoftware modules, for example, configured to perform correspondingtriggering functions for detecting corresponding triggering conditions,respectively. In the depicted embodiment, the triggering functionmodules are stored in the trigger block library 350, as indicated byrepresentative triggering function modules 351 to 356. For example,triggering function module 351 may perform a frequency mask triggeringfunction, triggering function module 352 may perform a power leveltriggering function, triggering function module 353 may perform a timedomain triggering function, triggering function module 354 may perform afrequency shape triggering function, triggering function module 355 mayperform a time-frequency triggering function, and triggering functionmodule 356 may perform a modulation based triggering function. Ofcourse, the number and type of triggering functions may vary withoutdeparting from the scope of the present teachings.

The same triggering function module 351 to 356 may be used to populatetrigger blocks in one or more of the first through n^(th) triggeringlevels 331 to 333, and/or may be repeated within the same triggeringlevel 331 to 333. Also, the triggering function modules 351 to 356 haveuniform input and output interfaces, enabling them to receive inputsignals from the trigger controlled buffer 310 and to outputcorresponding triggers. In various embodiments, at least one parameterof the triggering condition of each of the triggering function modules351 to 356 may be configured by the user.

The trigger block library 350 is accessible by the triggering matrix330, enabling the user to populate the trigger blocks 331-1 to 331-x,332-1 to 332-y, and 333-1 to 333-z of the triggering levels 331 to 333with the various trigger function modules 351 to 356. In the depictedembodiment, the trigger block library 350 is included in the multileveltriggering system 230, although in alternative configurations, all orpart of the trigger block library 350 may be included in the memory 250and/or the signal processing system 240, accessible by the triggeringmatrix 330. The triggering function modules 351 to 356 are configured tocause the trigger blocks 331-1 to 331-x, 332-1 to 332-y, and 333-1 to333-z, which they respectively populate, to generate block triggers whenthe corresponding triggering conditions are detected.

As mentioned above, the trigger controlled buffer 310 may be configuredto selectively provide the digital input signal to just one triggeringlevel (e.g., first through n^(th) triggering levels 331-333 of thetriggering matrix 330) at a time. For example, the trigger controlledbuffer 310 may be configured to initially provide the digital inputsignal only to the first triggering level 331, and then to provide thedigital input signal only to the second triggering level 332 when thefirst triggering level 331 outputs a first level trigger, and so on,until the trigger controlled buffer 310 provides the digital inputsignal only to the n^(th) triggering level 333 when the n^(th)−1triggering level outputs a corresponding n^(th)−1 level trigger. In thismanner, subsequent triggering levels (e.g., second triggering level 322,n^(th) triggering level 333) receive the digital input signal andattempt to detect corresponding trigger conditions only as needed, whichis useful when the trigger conditions of the subsequent triggeringlevels are relevant only when other trigger conditions of one or moreprevious triggering levels are met.

The triggering levels 331 to 333 and the trigger blocks 331-1 to 331-x,332-1 to 332-y, and 333-1 to 333-z within the triggering levels 331 to333 may be arranged to provide a complex triggering function thatcombines triggering functions of the configurable trigger blocks 331-1to 331-x, 332-1 to 332-y, and 333-1 to 333-z in a manner desired by theuser, thus enabling the user to effectively build any of a variety ofcustomized complex triggering functions. That is, each of the firstthrough n^(th) triggering levels 331 to 333 is designed according to acorresponding logical expression realized through population andarrangement of the trigger blocks 331-1 to 331-x, 332-1 to 332-y, and333-1 to 333-z, respectively. Accordingly, the first triggering level331 implements a first logical expression, the second triggering level332 implements a second logical expression, and the n^(th) triggeringlevel 333 implements an n^(th) logical expression. The logicalexpressions are combined to provide the customized complex triggeringfunction (according to an overall logical expression) for generating thecomplex trigger signal when the combined complex triggering conditionsare detected.

An example of providing a customized complex triggering function usingthe multilevel triggering system 230 is provided below for purposes ofillustration, and is otherwise not limiting of the scope of the presentteachings. In this example, the first triggering level 331 includestrigger blocks 331-1 and 331-2, each of which is populated with adifferent triggering function (e.g., imported or copied from the triggerblock library 350). The trigger controlled buffer 310 provides a firstportion of the buffered input signal to the first triggering level 331,and the trigger blocks 331-1 and 331-2 output corresponding blocktriggers when they detect respective triggering conditions. The firsttriggering level 331 then generates and outputs the first level triggerin response to both block triggers being generated (the first logicalexpression embodied by the first triggering level 331 having beensatisfied). This arrangement may embody a logical “AND” operation withrespect to the trigger blocks 331-1 and 331-2.

In response to the first level trigger, the trigger controlled buffer310 provides a second portion of the buffered input signal to the secondtriggering level 332, which is a different portion of the buffered inputsignal. In this example, the second triggering level 332 includestrigger blocks 332-1 and 332-2, each of which is populated with adifferent triggering function (e.g., imported or copied from the triggerblock library 350). The trigger blocks 332-1 and 332-2 outputcorresponding block triggers when they detect respective triggeringconditions in the second portion of the buffered input signal. Thesecond triggering level 332 then generates and outputs the second leveltrigger in response to both block triggers being generated (the secondlogical expression embodied by the second triggering level 332 havingbeen satisfied). Notably, in this example, the trigger blocks 332-1 and332-2 do not receive any portion of the input signal, and therefore arenot actively searching for the respective triggering conditions untilafter the first level trigger is generated.

In response to the second level trigger, the trigger controlled buffer310 provides a third portion of the buffered input signal to the third(n=3) triggering level 333. In this example, the third triggering level333 includes trigger blocks 333-1 and 333-2, each of which is populatedwith a different triggering function (e.g., imported or copied from thetrigger block library 350). The trigger blocks 333-1 and 333-2 outputcorresponding block triggers when they detect respective triggeringconditions in the third portion of the buffered input signal. The thirdtriggering level 333 then generates and outputs the third level triggerin response to both block triggers being generated (the third logicalexpression embodied by the third triggering level 333 having beensatisfied). Notably, in this example, the trigger blocks 333-1 and 333-2do not receive any portion of the input signal, and therefore are notactively searching for the respective triggering conditions until afterthe first and second level triggers are generated.

In response to the first, second and third level triggers, thetriggering matrix 330 generates and outputs the complex trigger signal(the overall logical expression having been satisfied). This arrangementmay embody a logical “AND” operation with respect to the first, secondand third level triggers. In response to the complex trigger signal, thetrigger controlled buffer 310 outputs the detected signal, whichcorresponds to the third potion of the input signal, for example, in thedepicted scenario.

Of course, as mentioned above, implementations of the variousembodiments are not limited by the example. For instance, one or more ofthe first through third triggering levels 331 to 333 may receive the(same portion) of the buffered input signal from the trigger controlledbuffer 310 simultaneously. In this case, the respective trigger blocks331-1, 331-2, 332-1, 332-2 and 333-1, 333-2 actively search for theirrespective triggering conditions at substantially the same time.Likewise, one or more of the first through third triggering levels 331to 333 may be configured to generate the respective first through thirdlevel triggers when either (rather than both) of the two trigger blocks331-1, 331-2, 332-1, 332-2 and 333-1, 333-2 detects the correspondingtriggering condition and generates the corresponding block trigger. Thisarrangement may embody a logical “OR” operation. Similarly, in thesituation where the first through third triggering levels 331 to 333simultaneously receive and process the input signal, the complex triggersignal may be generated in response to any one of the first throughthird level triggers being generated. Again, this arrangement may embodya logical “OR” operation among the first through third level triggers.

Accordingly, the user is able to design and implement any of a varietyof complex triggering functions in order to generate a correspondingcomplex trigger signal. That is, the user is able to arrange the numberand relationship of the different triggering levels. Also, within eachtriggering level, the user is able to arrange the type, number andrelationship of trigger blocks. For example, the type of trigger blockmay be assigned by importing or copying a triggering function module(e.g., from the trigger block library 350) for populating the triggerblock.

FIG. 4 is block diagram illustrating an example of multilevel triggeringsystem 230 implemented using a central processing unit (CPU), in whichthe functionality is implemented at least in part using software. In thedepicted embodiment, the multilevel triggering system 230 includes CPU421, internal memory 422, and various interfaces 425-427, whichcommunicate with one another via bus 429. The CPU 421 is configured toexecute one or more software algorithms of the embodiments describedherein, including enabling building and execution of customized complextriggering functions via multiple triggering levels, trigger blocks andtriggering function modules. In various embodiments, the CPU 421 mayinclude its own memory (e.g., nonvolatile memory) for storing executablesoftware code that allows it to perform various functions.Alternatively, the executable code may be stored in designated memorylocations within internal memory 422. The CPU 421 may execute anoperating system.

The internal memory 422 includes at least ROM 423 and RAM 424, althoughit is understood that the internal memory 422 may be implemented as anynon-transitory computer readable medium including any number, type andcombination of non-volatile and/or volatile memory. Further, theinternal memory 422 may store program instructions, algorithms andresults of calculations performed by the CPU 421.

In an embodiment, a user and/or other computers may interact with themultilevel triggering system 230 using various input device(s) throughI/O interface 425. The input devices may include a keyboard, a trackball, a mouse, a touch pad or touch-sensitive display, and the like.Also, information may be displayed on a display through a displayinterface (not shown), which may include any type of graphical userinterface (GUI). For example, visual representations of the triggeringmatrix 330 and/or the trigger block library 350 may be visuallydisplayed, as well as features for building, testing or otherwiseinteracting with the same. The multilevel triggering system 230 alsoincludes memory interface 426 for communicating with the memory 250 andprocessing system interface 427 for communicating with the signalprocessing system 240, as discussed above. For example, the multileveltriggering system 230 is able to communicate the detected signal to thesignal processing system 240 via the processing system interface 427.

FIG. 5 is block diagram illustrating an example of multilevel triggeringsystem 230 implemented using a field-programmable gate array (FPGA), inwhich the functionality is implemented at least in part using hardware.In the depicted embodiment, the multilevel triggering system 230includes FPGA 521, external memory 522, and various interfaces 526 to528. The FPGA 521 communicates with the external memory 522 via bus 529.

The FPGA 521 includes multiple Intelligence Property (IP) coresconfigured to execute one or more hardware algorithms of the embodimentsdescribed herein, including enabling the building and execution ofcustomized complex triggering functions via multiple triggering levels,trigger blocks and triggering function modules. For example, thetriggering matrix 330 may be implemented in the FPGA 521 using the IPcores, where each IP core corresponds to one of the trigger blocks 331-1to 331-x, 332-1 to 332-y, and 333-1 to 333-z, although otherconfigurations are within the scope of the present teachings. In variousembodiments, the FPGA 521 communicates with the external memory 522,which stores executable software code that programs the FPGA 521 toperform various functions and/or stores information from the FPGA 521.In various configurations, the external memory 522 may be the same asthe memory 250, discussed above. The external memory 522 may beimplemented as any non-transitory computer readable medium including anynumber, type and combination of non-volatile and/or volatile memory.

The multilevel triggering system 230 also includes memory interface 526for communicating with the memory 250 and processing system interface527 for communicating with the signal processing system 240, asdiscussed above. For example, the multilevel triggering system 230 isable to communicate the detected signal to the signal processing system240 via the processing system interface 527. The multilevel triggeringsystem 230 further includes trigger configuration interface 528, whichenables the user and/or a computer to interact with and configure theFPGA 521 using various input device(s). For example, the structure ofthe triggering matrix 330 within the FPGA 521 may be configured throughthe trigger configuration interface 528.

The various “parts” shown in the multilevel triggering system 230 may bephysically implemented using a software-controlled microprocessor,hard-wired logic circuits, or a combination thereof, as mentioned above.Also, while the parts are functionally segregated in the multileveltriggering system 230 for explanation purposes, they may be combinedvariously in any physical implementation. Further, one or more of theparts may be included in the signal processing system 240, or all or aportion of the corresponding functionalities may be implemented by thesignal processing system 240. For example, the signal processing system240 may include the I/O interface 425, such that input to and outputfrom the multilevel triggering system 230 may occur via the signalprocessing system 240.

While specific embodiments are disclosed herein, many variations arepossible, which remain within the concept and scope of the invention.Such variations would become clear after inspection of thespecification, drawings and claims herein. The invention therefore isnot to be restricted except within the scope of the appended claims.

What is claimed is:
 1. A multilevel triggering system of a signalanalysis instrument for outputting a complex trigger signal, the systemcomprising: a trigger controlled buffer configured to receive and bufferan input signal; a plurality of triggering function modules, eachtriggering function module being configured to perform a correspondingtriggering function for detecting a corresponding triggering condition;and a triggering matrix comprising a plurality of triggering levels,each triggering level being configurable to include at least one triggerblock and each trigger block being configurable to implement one of theplurality of triggering function modules, each trigger block generatinga corresponding block trigger when the triggering condition of thecorresponding triggering function module is detected in the bufferedinput signal, wherein each triggering level of the plurality oftriggering levels is configured to generate a corresponding leveltrigger when the at least one trigger block in the triggering levelgenerates the corresponding block trigger, and wherein the triggeringmatrix is configured to generate the complex trigger signal when theplurality of triggering levels generate corresponding level triggers. 2.The system of claim 1, further comprising: a trigger block libraryconfigured to store the plurality of triggering function modules, thetrigger block library being accessible by the triggering matrix forpopulating the at least one trigger block of each triggering level. 3.The system of claim 1, wherein each triggering level of the plurality oftriggering levels is further configured to receives a different portionof the buffered input signal.
 4. The system of claim 1, wherein a secondtriggering level of the plurality of triggering levels receives thebuffered input signal only when a preceding first triggering level ofthe plurality of triggering levels generates a corresponding first leveltrigger.
 5. The system of claim 4, wherein a third triggering level ofthe plurality of triggering levels receives the buffered input signalonly when the second triggering level of the plurality of triggeringlevels generates a corresponding second level trigger.
 6. The system ofclaim 1, wherein the plurality of triggering function modules haveuniform input and output interfaces.
 7. The system of claim 1, whereinat least one parameter of the triggering condition of each triggeringfunction module is configurable by a user.
 8. The system of claim 1,wherein the trigger controlled buffer comprises a first-in first-out(FIFO) buffer.
 9. The system of claim 2, wherein each trigger blockcomprises a copy of one of the plurality of triggering modules from thetrigger block library.
 10. The system of claim 9, wherein the pluralityof triggering function modules include at least two of a frequency masktriggering function, a power level triggering function, a time domaintriggering function, a frequency shape triggering function, atime-frequency triggering function, and a modulation based triggeringfunction.
 11. A computer readable medium storing software, executable bya processor, for multilevel triggering of a signal analysis instrumentto output a complex trigger signal, the computer readable mediumcomprising: first level code including a plurality of first triggerblocks configurable to implement a corresponding plurality of differenttriggering function modules for implementing different trigger functionsresponsive to corresponding triggering conditions, each first triggerblock generating a corresponding first block trigger when the triggeringconditions of the triggering function modules are detected in a firstportion of an input signal, and the first level code generating acorresponding first level trigger in accordance with a first logicalexpression incorporating the corresponding first block triggersgenerated by the first trigger blocks, respectively; and second levelcode including a plurality of second trigger blocks configurable toimplement a corresponding plurality of different triggering functionmodules for implementing different trigger functions responsive tocorresponding triggering conditions, each second trigger blockgenerating a corresponding second block trigger when the triggeringconditions of the triggering function modules are detected in a secondportion of the input signal, and the second level code generating acorresponding second level trigger in accordance with a second logicalexpression incorporating the corresponding second block triggersgenerated by the second trigger blocks, respectively, wherein thecomplex trigger signal is generated when the first and second levelcodes generate corresponding first and second level triggers,respectively.
 12. The computer readable medium of claim 11, wherein theinput signal is buffered by a trigger controlled buffer in order toprovide the first and second portions of the input signal to the firstand second level codes, respectively.
 13. The computer readable mediumof claim 11, further comprising: a trigger block library for storing thedifferent triggering function modules, each triggering function modulebeing configured to perform a corresponding triggering function fordetecting a corresponding triggering condition, wherein the first andsecond trigger blocks are populated using the plurality of differenttriggering function modules from the trigger block library.
 14. Thesystem of claim 13, wherein the plurality of different triggeringfunction modules include at least two of a frequency mask triggeringfunction, a power level triggering function, a time domain triggeringfunction, a frequency shape triggering function, a time-frequencytriggering function, and a modulation based triggering function.
 15. Thesystem of claim 14, wherein the plurality of different triggeringfunction modules have uniform input and output interfaces.
 16. A signalanalysis instrument comprising: a radio frequency (RF) downconverterconfigured to receive an RF input signal from a test device and toprovide a downconverted analog input signal; an analog to digitalconverter (ADC) configured to convert the analog input signal to adigital input signal; and a triggering system configured to receive thedigital input signal and to selectively output a complex trigger signalbased on characteristics of the digital input signal, the triggeringsystem comprising: a trigger controlled buffer configured to buffer thedigital input signal and to selectively output a detected signal inresponse to the complex trigger signal; a trigger block libraryconfigured to store a plurality of triggering function modules, eachtriggering function module being configured to perform a correspondingtriggering function for detecting a corresponding triggering condition;and a triggering matrix comprising a plurality of triggering levels,each triggering level being configurable to include at least one triggerblock and each trigger block being configurable to implement one of theplurality of triggering function modules from the trigger block library,each trigger block generating a corresponding block trigger when thetriggering condition of the corresponding triggering function module isdetected in the buffered input signal; wherein each triggering level ofthe plurality of triggering levels is configured to generate acorresponding level trigger when the at least one trigger block in thetriggering level generates the corresponding block trigger, and whereinthe triggering matrix is configured to generate the complex triggersignal when the plurality of triggering levels generate correspondinglevel triggers.
 17. The signal analysis instrument of claim 16, furthercomprising: a processing system configured to analyze the detectedsignal output by the trigger controlled buffer in response to thecomplex trigger signal selectively output by the triggering system, 18.The signal analysis instrument of claim 16, wherein the triggeringsystem comprises at least one field-programmable gate array (FPGA)configured to implement functionality of at least the triggering matrix.19. The signal analysis instrument of claim 16, wherein the triggeringsystem comprises at least one central processing unit (CPU) configuredto implement functionality of at least the triggering matrix.
 20. Thesignal analysis instrument of claim 1, wherein each triggering level ofthe plurality of triggering levels is further configured to receives adifferent portion of the buffered input signal from the triggercontrolled buffer.